namespace PayPal.Platform.SDK
{
    using System;

    /// <summary>
    /// Custom FATALException holds Short and Long messages.
    /// </summary>
    public class FATALException : Exception
    {
        #region Priavte Members
        
        /// <summary>
        /// Short message
        /// </summary>
        private string fatalExMessage;
        
        /// <summary>
        /// Long message
        /// </summary>
        private string fatalExpLongMessage;

        #endregion

        #region Constructors

        public FATALException(string fatalExceptionMessage, Exception exception)
        {
            this.fatalExMessage = fatalExceptionMessage;
            this.fatalExpLongMessage = exception.Message;
        }

        #endregion

        #region Public Properties

        /// <summary>
        /// Short message.
        /// </summary>
        public string FATALExceptionMessage
        {
            get
            {
                return this.fatalExMessage;
            }

            set
            {
                this.fatalExMessage = value;
            }
        }

        /// <summary>
        /// Long message
        /// </summary>
        public string FATALExceptionLongMessage
        {
            get
            {
                return this.fatalExpLongMessage;
            }

            set
            {
                this.fatalExpLongMessage = value;
            }
        }

        #endregion
    }
}
